navigationGo.pngQuick Navigation
allprojects32.pngAll projects
hardware32.pngHardware
links32.pngLinks

favoriteStar32.pngTop projects
Alan numitron clock
Clapclap 2313/1386
SNES Pi Webserver
USB Volume/USB toys
Smokey amp
Laser cutter
WordClock
ardReveil v3
SNES Arcade cabinet
Game boy projects
cameleon
Home Presence Detector

github32.pngGitHub
AlanFromJapan

navigationMail.pngContact me

alanfjmail.png
3flags.pngWho's Alan?


Akizukidenshi
Elec-lab
Rand Nerd Tut
EEVblog
SpritesMods
AvrFreaks
Gameboy Dev
FLOZz' blog
Switch-science
Sparkfun
Suzusho
Datasheet Lib
Reddit Elec
Ermicro
Carnet du maker (fr)

arduino programmer

Last update: Thu Jun 5 22:25:40 2025

Purpose

I have a nice AVR ISP mkII and I'm living a happy relation ship with it, a nice menage a trois with Atmel Studio 6. But recently (2014/01/13) I bought a lucky bag at one of my favorites shop Akizukidenshi in Akihabara. Inside there was a handful of old discontinued ATmel chips like AT90S4414 or Attiny26L that can not be programmed with Atmel Studio 6.

Ok so solution is to use avrdude and the avg-gcc solution. So far so good. But to use the AVR ISP mkII I need to install alternate drivers, which I did try.
And there started problems: both drivers can't work at the same time (of course) means that I can use my programmer with Atmel Studio 6 or with avrdude, not both (unless some driver switching magic). So let's dig in that pile of various Arduinos I have and make something useful.


(5~6 years later) Jan 2020: ok I finally did it v(^_^)v It works, yet not perfect. In the meanwhile my environment changed from Windows to Linux and from AVR Studio to Eclipse, but yes, there we are!

Documentations

Bill of Materials

  • Arduino 1.0 (I think), it even has the Italian flag sticker!
  • An old board I got from Sparkfun discarded boards like 10y ago, apparently was made to be used with a GPS thingy?
  • Wire, leds, resistors
  • Commands

    READ ME: it works, but sometimes refuses commands, need to try a few time. One thing that came out of my testing is that forcing the baudrate (-b 19200) seems important, so do that future me.

    Read low fuse: avrdude -c avrisp -p m328p -P/dev/ttyUSB0 -b 19200 -U lfuse:r:-:i -v

    Program: avrdude -v -patmega328p -c avrisp -P/dev/ttyUSB0 -b19200 -Uflash:w:/path/to/program.hex:i

    Code

    In the arduino samples, the "ArduinoISP".
    Following changes:
  • defined the USE_OLD_STYLE_WIRING because I started wiring like that before reading that we could use the SPI module itself and not bitbang it...
  • as stated in the tutorial I edited the heartbeat() to set a 40ms delay (not sure why, must mess up the timing of something else elsewere)
  • Pictures

    All content on this site is shared under the MIT licence (do what u want, don't sue me, hat tip appreciated)
    electrogeek.tokyo ~ Formerly known as Kalshagar.wikispaces.com and electrogeek.cc (AlanFromJapan [2009 - 2025])